chore: clear session on launch if vpn unconfigured #76
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Logging into Coder Desktop configures the system VPN with the session token & server URL.
However, uninstalling the app does not remove clear the
UserDefault
settings (namelyhasSession
), nor does it clear the keychain item (containing the session token). This means a fresh install of the app (that involves deleting the network extension from settings) starts in a broken state:The VPN looks like it can be used, as typically the NE is configured once logged in, but the deleting of the network extension cleared the configuration. Right now we show an error that suggests logging out and back in.
This PR makes it not possible to enter this broken state. If a NE configuration cannot be loaded on start up of the app, the session is cleared, and the user will see they need to log in again.
As a drive-by fix, this PR also adds descriptions to all errors, as some varieties of errors would not display a description on the UI.